"""
合并多个字典或映射

问题：
    现在有多个字典或者映射，你想将它们从逻辑上合并为一个单一的映射后执行某些操作， 比如查找值或者检查某些键是否存在。
解决方案：
    假如你有如下两个字典:
    a = {'x': 1, 'z': 3 }
    b = {'y': 2, 'z': 4 }
    现在假设你必须在两个字典中执行查找操作（比如先从 a 中找，如果找不到再在 b 中找）。
    一个非常简单的解决方案就是使用 collections 模块中的 ChainMap 类。
"""

from collections import ChainMap


def use_chain_map():
    user_dict1 = {"Kevin": "杭州", "KK": "美国"}
    user_dict2 = {"葛小伦": "雄兵连", "天使彦": "雄兵连", "蔷薇": "雄兵连"}
    user_dict = ChainMap(user_dict1, user_dict2)
    print(user_dict)
    print(user_dict["Kevin"])
    print(user_dict["天使彦"])
    # 输出结果：
    """
    ChainMap({'Kevin': '杭州', 'KK': '美国'}, {'葛小伦': '雄兵连', '天使彦': '雄兵连', '蔷薇': '雄兵连'})
    杭州
    雄兵连
    """


if __name__ == '__main__':
    use_chain_map()
